package com.dragon.modules.yuegou.entity.coupon;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.dragon.modules.yuegou.enums.coupon.CouponGiftTemplateType;
import com.dragon.modules.yuegou.enums.coupon.CouponGiftType;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.time.LocalDateTime;

/**
 * 停车券赠送任务信息表实体类<br>
 * 对应的表为：coup_coupon_gift<br>
 * 
 * @author pbuilder generated
 * @date 2019-10-25 15:45:17
 * @company sgy
 * @version 2.0
 */
@TableName("coup_coupon_gift")
@ApiModel(description = "停车券赠送任务信息表")
public class CouponGiftEntity {

    /**  */
	protected String id;

    /** 集团ID */
	@ApiModelProperty("集团ID")
	protected String groupId;

    /** 商圈ID */
	@ApiModelProperty("商圈ID")
	protected String busdId;

    /** [枚举]模板类型：0-停车券-PARK_COUPON */
	@ApiModelProperty("[枚举]模板类型：0-停车券-PARK_COUPON")
	protected CouponGiftTemplateType templateType;

    /** 模板ID */
	@ApiModelProperty("模板ID")
	protected String templateId;

    /** 开始时间 */
	@ApiModelProperty("开始时间")
	protected LocalDateTime beginTime;

    /** 结束时间 */
	@ApiModelProperty("结束时间")
	protected LocalDateTime endTime;

    /** 赠送数量 默认为1 */
	@ApiModelProperty("赠送数量 默认为1")
	protected Integer sendNum;

    /** 赠送条件 每月多少号 1~31 每周1~7 为0则不生效 */
	@TableField("`condition`")
	@ApiModelProperty("赠送条件 每月多少号 1~31 每周1~7 为0则不生效")
	protected Integer condition;

    /** 赠送时间点 */
	@ApiModelProperty("赠送时间点")
	protected Integer hour;

    /** [枚举]赠送类型：0-每日送券-DAY、1-每周送券-WEEK、2-每月送券-MONTH */
	@ApiModelProperty("[枚举]赠送类型：0-每日送券-DAY、1-每周送券-WEEK、2-每月送券-MONTH")
	protected CouponGiftType type;

    /** 是否可用（1：不可用，0：正常） */
	@ApiModelProperty("是否可用（1：不可用，0：正常）")
	protected Boolean status;

    /** 创建者 */
	@ApiModelProperty("创建者")
	protected String createdBy;

    /** 创建时间 */
	@ApiModelProperty("创建时间")
	protected LocalDateTime createdTime;

    /** 修改人 */
	@ApiModelProperty("修改人")
	protected String modifiedBy;

    /** 修改时间 */
	@ApiModelProperty("修改时间")
	protected LocalDateTime modifiedTime;

    /** 是否删除（1：已删除，0：未删除） */
	@ApiModelProperty("是否删除（1：已删除，0：未删除）")
	protected Boolean del;

    /** 删除人 */
	@ApiModelProperty("删除人")
	protected String delBy;

    /** 删除时间 */
	@ApiModelProperty("删除时间")
	protected LocalDateTime delTime;

	/**
	 * 构造一个空停车券赠送任务信息表实体对象
	 */
	public CouponGiftEntity(){
		super();
	}

	/**
	 * 依据其它对象的信息构造一个停车券赠送任务信息表实体对象
	 * 
	 * @param other 其它对象
	 */
	public CouponGiftEntity(CouponGiftEntity other){
		super();
     	this.id = other.id;
     	this.groupId = other.groupId;
     	this.busdId = other.busdId;
     	this.templateType = other.templateType;
     	this.templateId = other.templateId;
     	this.beginTime = other.beginTime;
     	this.endTime = other.endTime;
     	this.sendNum = other.sendNum;
     	this.condition = other.condition;
     	this.hour = other.hour;
     	this.type = other.type;
     	this.status = other.status;
     	this.createdBy = other.createdBy;
     	this.createdTime = other.createdTime;
     	this.modifiedBy = other.modifiedBy;
     	this.modifiedTime = other.modifiedTime;
     	this.del = other.del;
     	this.delBy = other.delBy;
     	this.delTime = other.delTime;
	}


	/**
	 * 获取
	 * 
	 * @return id 
	 */
	public String getId() {
		return id;
	}
  	
	/**
	 * 设置
	 * 
	 * @param id 
	 */
	public void setId(String id) {
		this.id = id;
	}

	/**
	 * 获取集团ID
	 * 
	 * @return groupId 集团ID
	 */
	public String getGroupId() {
		return groupId;
	}
  	
	/**
	 * 设置集团ID
	 * 
	 * @param groupId 集团ID
	 */
	public void setGroupId(String groupId) {
		this.groupId = groupId;
	}

	/**
	 * 获取商圈ID
	 * 
	 * @return busdId 商圈ID
	 */
	public String getBusdId() {
		return busdId;
	}
  	
	/**
	 * 设置商圈ID
	 * 
	 * @param busdId 商圈ID
	 */
	public void setBusdId(String busdId) {
		this.busdId = busdId;
	}

	/**
	 * 获取[枚举]模板类型：0-停车券-PARK_COUPON
	 * 
	 * @return templateType [枚举]模板类型：0-停车券-PARK_COUPON
	 */
	public CouponGiftTemplateType getTemplateType() {
		return templateType;
	}
  	
	/**
	 * 设置[枚举]模板类型：0-停车券-PARK_COUPON
	 * 
	 * @param templateType [枚举]模板类型：0-停车券-PARK_COUPON
	 */
	public void setTemplateType(CouponGiftTemplateType templateType) {
		this.templateType = templateType;
	}

	/**
	 * 获取模板ID
	 * 
	 * @return templateId 模板ID
	 */
	public String getTemplateId() {
		return templateId;
	}
  	
	/**
	 * 设置模板ID
	 * 
	 * @param templateId 模板ID
	 */
	public void setTemplateId(String templateId) {
		this.templateId = templateId;
	}

	/**
	 * 获取开始时间
	 * 
	 * @return beginTime 开始时间
	 */
	public LocalDateTime getBeginTime() {
		return beginTime;
	}
  	
	/**
	 * 设置开始时间
	 * 
	 * @param beginTime 开始时间
	 */
	public void setBeginTime(LocalDateTime beginTime) {
		this.beginTime = beginTime;
	}

	/**
	 * 获取结束时间
	 * 
	 * @return endTime 结束时间
	 */
	public LocalDateTime getEndTime() {
		return endTime;
	}
  	
	/**
	 * 设置结束时间
	 * 
	 * @param endTime 结束时间
	 */
	public void setEndTime(LocalDateTime endTime) {
		this.endTime = endTime;
	}

	/**
	 * 获取赠送数量 默认为1
	 * 
	 * @return sendNum 赠送数量 默认为1
	 */
	public Integer getSendNum() {
		return sendNum;
	}
  	
	/**
	 * 设置赠送数量 默认为1
	 * 
	 * @param sendNum 赠送数量 默认为1
	 */
	public void setSendNum(Integer sendNum) {
		this.sendNum = sendNum;
	}

	/**
	 * 获取赠送条件 每月多少号 1~31 每周1~7 为0则不生效
	 * 
	 * @return condition 赠送条件 每月多少号 1~31 每周1~7 为0则不生效
	 */
	public Integer getCondition() {
		return condition;
	}
  	
	/**
	 * 设置赠送条件 每月多少号 1~31 每周1~7 为0则不生效
	 * 
	 * @param condition 赠送条件 每月多少号 1~31 每周1~7 为0则不生效
	 */
	public void setCondition(Integer condition) {
		this.condition = condition;
	}

	/**
	 * 获取赠送时间点
	 * 
	 * @return hour 赠送时间点
	 */
	public Integer getHour() {
		return hour;
	}
  	
	/**
	 * 设置赠送时间点
	 * 
	 * @param hour 赠送时间点
	 */
	public void setHour(Integer hour) {
		this.hour = hour;
	}

	/**
	 * 获取[枚举]赠送类型：0-每日送券-DAY、1-每周送券-WEEK、2-每月送券-MONTH
	 * 
	 * @return type [枚举]赠送类型：0-每日送券-DAY、1-每周送券-WEEK、2-每月送券-MONTH
	 */
	public CouponGiftType getType() {
		return type;
	}
  	
	/**
	 * 设置[枚举]赠送类型：0-每日送券-DAY、1-每周送券-WEEK、2-每月送券-MONTH
	 * 
	 * @param type [枚举]赠送类型：0-每日送券-DAY、1-每周送券-WEEK、2-每月送券-MONTH
	 */
	public void setType(CouponGiftType type) {
		this.type = type;
	}

	/**
	 * 获取是否可用（1：不可用，0：正常）
	 * 
	 * @return status 是否可用（1：不可用，0：正常）
	 */
	public Boolean getStatus() {
		return status;
	}
  	
	/**
	 * 设置是否可用（1：不可用，0：正常）
	 * 
	 * @param status 是否可用（1：不可用，0：正常）
	 */
	public void setStatus(Boolean status) {
		this.status = status;
	}

	/**
	 * 获取创建者
	 * 
	 * @return createdBy 创建者
	 */
	public String getCreatedBy() {
		return createdBy;
	}
  	
	/**
	 * 设置创建者
	 * 
	 * @param createdBy 创建者
	 */
	public void setCreatedBy(String createdBy) {
		this.createdBy = createdBy;
	}

	/**
	 * 获取创建时间
	 * 
	 * @return createdTime 创建时间
	 */
	public LocalDateTime getCreatedTime() {
		return createdTime;
	}
  	
	/**
	 * 设置创建时间
	 * 
	 * @param createdTime 创建时间
	 */
	public void setCreatedTime(LocalDateTime createdTime) {
		this.createdTime = createdTime;
	}

	/**
	 * 获取修改人
	 * 
	 * @return modifiedBy 修改人
	 */
	public String getModifiedBy() {
		return modifiedBy;
	}
  	
	/**
	 * 设置修改人
	 * 
	 * @param modifiedBy 修改人
	 */
	public void setModifiedBy(String modifiedBy) {
		this.modifiedBy = modifiedBy;
	}

	/**
	 * 获取修改时间
	 * 
	 * @return modifiedTime 修改时间
	 */
	public LocalDateTime getModifiedTime() {
		return modifiedTime;
	}
  	
	/**
	 * 设置修改时间
	 * 
	 * @param modifiedTime 修改时间
	 */
	public void setModifiedTime(LocalDateTime modifiedTime) {
		this.modifiedTime = modifiedTime;
	}

	/**
	 * 获取是否删除（1：已删除，0：未删除）
	 * 
	 * @return del 是否删除（1：已删除，0：未删除）
	 */
	public Boolean getDel() {
		return del;
	}
  	
	/**
	 * 设置是否删除（1：已删除，0：未删除）
	 * 
	 * @param del 是否删除（1：已删除，0：未删除）
	 */
	public void setDel(Boolean del) {
		this.del = del;
	}

	/**
	 * 获取删除人
	 * 
	 * @return delBy 删除人
	 */
	public String getDelBy() {
		return delBy;
	}
  	
	/**
	 * 设置删除人
	 * 
	 * @param delBy 删除人
	 */
	public void setDelBy(String delBy) {
		this.delBy = delBy;
	}

	/**
	 * 获取删除时间
	 * 
	 * @return delTime 删除时间
	 */
	public LocalDateTime getDelTime() {
		return delTime;
	}
  	
	/**
	 * 设置删除时间
	 * 
	 * @param delTime 删除时间
	 */
	public void setDelTime(LocalDateTime delTime) {
		this.delTime = delTime;
	}

    public String toString() {
		return new StringBuilder().append("CouponGiftEntity{").
			append("id=").append(id).
			append(",groupId=").append(groupId).
			append(",busdId=").append(busdId).
			append(",templateType=").append(templateType).
			append(",templateId=").append(templateId).
			append(",beginTime=").append(beginTime).
			append(",endTime=").append(endTime).
			append(",sendNum=").append(sendNum).
			append(",condition=").append(condition).
			append(",hour=").append(hour).
			append(",type=").append(type).
			append(",status=").append(status).
			append(",createdBy=").append(createdBy).
			append(",createdTime=").append(createdTime).
			append(",modifiedBy=").append(modifiedBy).
			append(",modifiedTime=").append(modifiedTime).
			append(",del=").append(del).
			append(",delBy=").append(delBy).
			append(",delTime=").append(delTime).
			append('}').toString();
    }

	/**
	 * 复制对象
	 * 
	 * @return 复制后的新实体对象
	 */
	public CouponGiftEntity copy() {
		return new CouponGiftEntity(this);
	}

    /**  */
	public static final String COL_ID = "id";

    /** 集团ID */
	public static final String COL_GROUP_ID = "group_id";

    /** 商圈ID */
	public static final String COL_BUSD_ID = "busd_id";

    /** [枚举]模板类型：0-停车券-PARK_COUPON */
	public static final String COL_TEMPLATE_TYPE = "template_type";

    /** 模板ID */
	public static final String COL_TEMPLATE_ID = "template_id";

    /** 开始时间 */
	public static final String COL_BEGIN_TIME = "begin_time";

    /** 结束时间 */
	public static final String COL_END_TIME = "end_time";

    /** 赠送数量 默认为1 */
	public static final String COL_SEND_NUM = "send_num";

    /** 赠送条件 每月多少号 1~31 每周1~7 为0则不生效 */
	public static final String COL_CONDITION = "`condition`";

    /** 赠送时间点 */
	public static final String COL_HOUR = "hour";

    /** [枚举]赠送类型：0-每日送券-DAY、1-每周送券-WEEK、2-每月送券-MONTH */
	public static final String COL_TYPE = "type";

    /** 是否可用（1：不可用，0：正常） */
	public static final String COL_STATUS = "status";

    /** 创建者 */
	public static final String COL_CREATED_BY = "created_by";

    /** 创建时间 */
	public static final String COL_CREATED_TIME = "created_time";

    /** 修改人 */
	public static final String COL_MODIFIED_BY = "modified_by";

    /** 修改时间 */
	public static final String COL_MODIFIED_TIME = "modified_time";

    /** 是否删除（1：已删除，0：未删除） */
	public static final String COL_DEL = "del";

    /** 删除人 */
	public static final String COL_DEL_BY = "del_by";

    /** 删除时间 */
	public static final String COL_DEL_TIME = "del_time";
}
